import { defineStore } from "pinia";

export const useStoreStore = defineStore("store", {
  state: () => ({
    storeId: null,
    currentStore: null,
    merchantName: "",
  }),

  getters: {
    hasStore: (state) => !!state.storeId,
  },

  actions: {
    // 保留此方法以兼容现有代码，但实际上不需要手动调用了
    hydrateFromStorage() {
      // 插件会自动处理，这个方法现在是空操作
      console.log("hydrateFromStorage 已被持久化插件接管，无需手动调用");
    },

    setStoreInfo(store) {
      if (!store || !store.id) return;
      this.storeId = store.id;
      this.currentStore = store;
      this.merchantName = store.merchantName || "";
      // ✅ 不需要手动 setStorageSync，插件会自动持久化
    },

    clearStoreInfo() {
      this.storeId = null;
      this.currentStore = null;
      this.merchantName = "";
      // ✅ 不需要手动 removeStorageSync，插件会自动清理
    },
  },

  // 🔥 启用持久化 - 使用 unistorage 配置
  unistorage: true, // 开启后对 state 的数据读写都将持久化
});
